/*
 * My97 DatePicker 4.72 Release
 * License: http://www.my97.net/dp/license.asp
 */
var $dp,WdatePicker;
(function() {
  var _ = {
    $wdate:true,
    $dpPath:"",
    $crossFrame:true,
    doubleCalendar:false,
    enableKeyboard:true,
    enableInputMask:true,
    autoUpdateOnChanged:null,
    whichDayIsfirstWeek:4,
    position:{},
    lang:"auto",
    skin:"default",
    dateFmt:"yyyy-MM-dd",
    realDateFmt:"yyyy-MM-dd",
    realTimeFmt:"HH:mm:ss",
    realFullFmt:"%Date %Time",
    minDate:"1900-01-01 00:00:00",
    maxDate:"2099-12-31 23:59:59",
    startDate:"",
    alwaysUseStartDate:false,
    yearOffset:1911,
    firstDayOfWeek:0,
    isShowWeek:false,
    highLineWeekDay:true,
    isShowClear:true,
    isShowToday:true,
    isShowOK:true,
    isShowOthers:true,
    readOnly:false,
    errDealMode:0,
    autoPickDate:null,
    qsEnabled:true,
    autoShowQS:false,

    specialDates:null,specialDays:null,disabledDates:null,disabledDays:null,opposite:false,onpicking:null,onpicked:null,onclearing:null,oncleared:null,ychanging:null,ychanged:null,Mchanging:null,Mchanged:null,dchanging:null,dchanged:null,Hchanging:null,Hchanged:null,mchanging:null,mchanged:null,schanging:null,schanged:null,eCont:null,vel:null,errMsg:"",quickSel:
            [],has:{}};
  WdatePicker = U;
  var X = window,O = "document",J = "documentElement",C = "getElementsByTagName",V,A,T,I,b;
  switch (navigator.appName) {
  case"Microsoft Internet Explorer":
    T = true;
    break;
  case"Opera":
    b = true;
    break;
  default:
    I = true;
    break
  }
  A = L();
  if (_.$wdate) {
    M(A + "skin/WdatePicker.css");
  }
  V = X;
  if (_.$crossFrame) {
    try {
      while (V.parent && V.parent[O] != V[O] && V.parent[O][C]("frameset").length == 0) {
        V = V.parent
      }
    } catch(P) {
    }
  }
  if (!V.$dp) {
    V.$dp = {ff:I,ie:T,opera:b,el:null,win:X,status:0,defMinDate:_.minDate,defMaxDate:_.maxDate,flatCfgs:[]};
  }
  B();
  if ($dp.status == 0) {
    Z(X, function() {
      U(null, true)
    });
  }
  if (!X[O].docMD) {
    E(X[O], "onmousedown", D);
    X[O].docMD = true
  }
  if (!V[O].docMD) {
    E(V[O], "onmousedown", D);
    V[O].docMD = true
  }
  E(X, "onunload", function() {
    if ($dp.dd) {
      Q($dp.dd, "none")
    }
  });
  function B() {
    V.$dp = V.$dp || {};
    obj = {$:function($) {
      return(typeof $ == "string") ? X[O].getElementById($) : $
    },$D:function($, _) {
      return this.$DV(this.$($).value, _)
    },$DV:function(_, $) {
      if (_ != "") {
        this.dt = $dp.cal.splitDate(_, $dp.cal.dateFmt);
        if ($) {
          for (var B in $) {
            if (this.dt[B] === undefined) {
              this.errMsg = "invalid property:" + B;
            } else {
              this.dt[B] += $[B];
              if (B == "M") {
                var C = $["M"] > 0 ? 1 : 0,A = new Date(this.dt["y"], this.dt["M"], 0).getDate();
                this.dt["d"] = Math.min(A + C, this.dt["d"])
              }
            }
          }
        }
        if (this.dt.refresh()) {
          return this.dt
        }
      }
      return""
    },show:function() {
      var A = V[O].getElementsByTagName("div"),$ = 100000;
      for (var B = 0; B < A.length; B++) {
        var _ = parseInt(A[B].style.zIndex);
        if (_ > $) {
          $ = _
        }
      }
      this.dd.style.zIndex = $ + 2;
      Q(this.dd, "block")
    },hide:function() {
      Q(this.dd, "none")
    },attachEvent:E};
    for (var $ in obj) {
      V.$dp[$] = obj[$];
    }
    $dp = V.$dp;
    $dp.dd = V[O].getElementById("_my97DP")
  }

  function E(A, $, _) {
    if (T) {
      A.attachEvent($, _);
    } else if (_) {
      var B = $.replace(/on/, "");
      _._ieEmuEventHandler = function($) {
        return _($)
      };
      A.addEventListener(B, _._ieEmuEventHandler, false)
    }
  }

  function L() {
    var _,A,$ = X[O][C]("script");
    for (var B = 0; B < $.length; B++) {
      _ = $[B].src.substring(0, $[B].src.toLowerCase().indexOf("wdatepicker.js"));
      A = _.lastIndexOf("/");
      if (A > 0) {
        _ = _.substring(0, A + 1);
      }
      if (_) {
        break
      }
    }
    return _
  }

  function F(F) {
    var E,C;
    if (F.substring(0, 1) != "/" && F.indexOf("://") == -1) {
      E = V.location.href;
      C = location.href;
      if (E.indexOf("?") > -1) {
        E = E.substring(0, E.indexOf("?"));
      }
      if (C.indexOf("?") > -1) {
        C = C.substring(0, C.indexOf("?"));
      }
      var G,I,$ = "",D = "",A = "",J,H,B = "";
      for (J = 0; J < Math.max(E.length, C.length); J++) {
        G = E.charAt(J).toLowerCase();
        I = C.charAt(J).toLowerCase();
        if (G == I) {
          if (G == "/") {
            H = J
          }
        } else {
          $ = E.substring(H + 1, E.length);
          $ = $.substring(0, $.lastIndexOf("/"));
          D = C.substring(H + 1, C.length);
          D = D.substring(0, D.lastIndexOf("/"));
          break
        }
      }
      if ($ != "") {
        for (J = 0; J < $.split("/").length; J++) {
          B += "../";
        }
      }
      if (D != "") {
        B += D + "/";
      }
      F = E.substring(0, E.lastIndexOf("/") + 1) + B + F
    }
    _.$dpPath = F
  }

  function M(A, $, B) {
    var D = X[O][C]("HEAD").item(0),_ = X[O].createElement("link");
    if (D) {
      _.href = A;
      _.rel = "stylesheet";
      _.type = "text/css";
      if ($) {
        _.title = $;
      }
      if (B) {
        _.charset = B;
      }
      D.appendChild(_)
    }
  }

  function Z($, _) {
    E($, "onload", _)
  }

  function G($) {
    $ = $ || V;
    var A = 0,_ = 0;
    while ($ != V) {
      var D = $.parent[O][C]("iframe");
      for (var F = 0; F < D.length; F++) {
        try {
          if (D[F].contentWindow == $) {
            var E = W(D[F]);
            A += E.left;
            _ += E.top;
            break
          }
        } catch(B) {
        }
      }
      $ = $.parent
    }
    return{"leftM":A,"topM":_}
  }

  function W(F) {
    if (F.getBoundingClientRect) {
      return F.getBoundingClientRect();
    } else {
      var A = {ROOT_TAG:/^body|html$/i,OP_SCROLL:/^(?:inline|table-row)$/i},E = false,H = null,_ = F.offsetTop,G = F
              .offsetLeft,D = F.offsetWidth,B = F.offsetHeight,C = F.offsetParent;
      if (C != F) {
        while (C) {
          G += C.offsetLeft;
          _ += C.offsetTop;
          if (S(C, "position").toLowerCase() == "fixed") {
            E = true;
          } else if (C.tagName.toLowerCase() == "body") {
            H = C.ownerDocument.defaultView;
          }
          C = C.offsetParent
        }
      }
      C = F.parentNode;
      while (C.tagName && !A.ROOT_TAG.test(C.tagName)) {
        if (C.scrollTop || C.scrollLeft) {
          if (!A.OP_SCROLL.test(Q(C))) {
            if (!b || C.style.overflow !== "visible") {
              G -= C.scrollLeft;
              _ -= C.scrollTop
            }
          }
        }
        C = C.parentNode
      }
      if (!E) {
        var $ = a(H);
        G -= $.left;
        _ -= $.top
      }
      D += G;
      B += _;
      return{"left":G,"top":_,"right":D,"bottom":B}
    }
  }

  function N($) {
    $ = $ || V;
    var B = $[O],A = ($.innerWidth) ? $.innerWidth : (B[J] && B[J].clientWidth) ? B[J].clientWidth : B.body
            .offsetWidth,_ = ($.innerHeight) ? $.innerHeight : (B[J] && B[J].clientHeight) ? B[J].clientHeight : B.body
            .offsetHeight;
    return{"width":A,"height":_}
  }

  function a($) {
    $ = $ || V;
    var B = $[O],A = B[J],_ = B.body;
    B = (A && A.scrollTop != null && (A.scrollTop > _.scrollTop || A.scrollLeft > _.scrollLeft)) ? A : _;
    return{"top":B.scrollTop,"left":B.scrollLeft}
  }

  function D($) {
    var _ = $ ? ($.srcElement || $.target) : null;
    try {
      if ($dp.cal && !$dp.eCont && $dp.dd && _ != $dp.el && $dp.dd.style.display == "block") {
        $dp.cal.close()
      }
    } catch($) {
    }
  }

  function Y() {
    $dp.status = 2;
    H()
  }

  function H() {
    if ($dp.flatCfgs.length > 0) {
      var $ = $dp.flatCfgs.shift();
      $.el = {innerHTML:""};
      $.autoPickDate = true;
      $.qsEnabled = false;
      K($)
    }
  }

  var R,$;

  function U(J, C) {
    $dp.win = X;
    B();
    J = J || {};
    if (C) {
      if (!G()) {
        $ = $ || setInterval(function() {
          if (V[O].readyState == "complete") {
            clearInterval($);
          }
          U(null, true)
        }, 50);
        return
      }
      if ($dp.status == 0) {
        $dp.status = 1;
        K({el:{innerHTML:""}}, true)
      } else {
        return
      }
    } else if (J.eCont) {
      J.eCont = $dp.$(J.eCont);
      $dp.flatCfgs.push(J);
      if ($dp.status == 2) {
        H()
      }
    } else {
      if ($dp.status == 0) {
        U(null, true);
        return
      }
      if ($dp.status != 2) {
        return;
      }
      var F = D();
      if (F) {
        $dp.srcEl = F.srcElement || F.target;
        F.cancelBubble = true
      }
      $dp.el = J.el = $dp.$(J.el || $dp.srcEl);
      if (!$dp.el || $dp.el["My97Mark"] === true || $dp.el.disabled || ($dp.el == $dp.el && Q($dp.dd) != "none" && $dp
              .dd.style.left != "-1970px")) {
        $dp.el["My97Mark"] = false;
        return
      }
      K(J);
      if (F && $dp.el.nodeType == 1 && $dp.el["My97Mark"] === undefined) {
        $dp.el["My97Mark"] = false;
        var _,A;
        if (F.type == "focus") {
          _ = "onclick";
          A = "onfocus"
        } else {
          _ = "onfocus";
          A = "onclick"
        }
        E($dp.el, _, $dp.el[A])
      }
    }
    function G() {
      if (T && V != X && V[O].readyState != "complete") {
        return false;
      }
      return true
    }

    function D() {
      if (I) {
        func = D.caller;
        while (func != null) {
          var $ = func.arguments[0];
          if ($ && ($ + "").indexOf("Event") >= 0) {
            return $;
          }
          func = func.caller
        }
        return null
      }
      return event
    }
  }

  function S(_, $) {
    return _.currentStyle ? _.currentStyle[$] : document.defaultView.getComputedStyle(_, false)[$]
  }

  function Q(_, $) {
    if (_) {
      if ($ != null) {
        _.style.display = $;
      } else {
        return S(_, "display")
      }
    }
  }

  function K(H, $) {
    for (var D in _) {
      if (D.substring(0, 1) != "$") {
        $dp[D] = _[D];
      }
    }
    for (D in H) {
      if ($dp[D] !== undefined) {
        $dp[D] = H[D];
      }
    }
    var E = $dp.el ? $dp.el.nodeName : "INPUT";
    if ($ || $dp.eCont || new RegExp(/input|textarea|div|span|p|a/ig).test(E)) {
      $dp.elProp = E == "INPUT" ? "value" : "innerHTML";
    } else {
      return;
    }
    if ($dp.lang == "auto") {
      $dp.lang = T ? navigator.browserLanguage.toLowerCase() : navigator.language.toLowerCase();
    }
    if (!$dp.dd || $dp.eCont || ($dp.lang && $dp.realLang && $dp.realLang.name != $dp.lang && $dp.getLangIndex && $dp
            .getLangIndex($dp.lang) >= 0)) {
      if ($dp.dd && !$dp.eCont) {
        V[O].body.removeChild($dp.dd);
      }
      if (_.$dpPath == "") {
        F(A);
      }
     
      var B = "<iframe style=\"width:1px;height:1px\" src=\"" + _.$dpPath
              + "My97DatePicker.html\" frameborder=\"0\" border=\"0\" scrolling=\"no\"></iframe>";
      if ($dp.eCont) {
        $dp.eCont.innerHTML = B;
        Z($dp.eCont.childNodes[0], Y)
      } else {
        $dp.dd = V[O].createElement("DIV");
        $dp.dd.id = "_my97DP";
        $dp.dd.style.cssText = "position:absolute";
        $dp.dd.innerHTML = B;
        V[O].body.appendChild($dp.dd);
        Z($dp.dd.childNodes[0], Y);
        if ($) {
          $dp.dd.style.left = $dp.dd.style.top = "-1970px";
        } else {
          $dp.show();
          C()
        }
      }
    } else if ($dp.cal) {
      $dp.show();
      $dp.cal.init();
      if (!$dp.eCont) {
        C()
      }
    }
    function C() {
      var F = $dp.position.left,B = $dp.position.top,C = $dp.el;
      if (C != $dp.srcEl && (Q(C) == "none" || C.type == "hidden")) {
        C = $dp.srcEl;
      }
      var H = W(C),$ = G(X),D = N(V),A = a(V),E = $dp.dd.offsetHeight,_ = $dp.dd.offsetWidth;
      if (isNaN(B)) {
        if (B == "above" || (B != "under" && (($.topM + H.bottom + E > D.height) && ($.topM + H.top - E > 0)))) {
          B = A.top + $.topM + H.top - E - 2;
        } else {
          B = A.top + $.topM + Math.min(H.bottom, D.height - E) + 2
        }
      } else {
        B += A.top + $.topM;
      }
      if (isNaN(F)) {
        F = A.left + Math.min($.leftM + H.left, D.width - _ - 5) - (T ? 2 : 0);
      } else {
        F += A.left + $.leftM;
      }
      $dp.dd.style.top = B + "px";
      $dp.dd.style.left = F + "px"
    }
  }
})();